Software applications often behave in particular ways based on changes made when using that application, such as changes made by a user setting his or her preferences, and/or metadata about an application, such as metadata providing components of the application with a roadmap to other components. A user may, for instance, customize toolbars for his spreadsheet application or a dictionary for his word-processing application's spell checker.
Customizations and other application-specific functionality are generally retained by the application's native computing system—not the application itself. When an application is executed, it interacts with its native computing system's registry to enable its particular functionality.
When an application is saved to a portable device and connected to another computing system, however, the application may behave differently. It can behave differently because the other computing system's registry may not have a record of the application's particular functionality. The afore-mentioned user's spreadsheet application, for example, may have different toolbars or his dictionary not recognize particular words previously added by the user.